Skip to content

volume lifecycle fixes#292

Merged
k8s-ci-robot merged 1 commit intokubernetes-csi:masterfrom
pohly:volume-lifecycle-fixes
May 18, 2021
Merged

volume lifecycle fixes#292
k8s-ci-robot merged 1 commit intokubernetes-csi:masterfrom
pohly:volume-lifecycle-fixes

Conversation

@pohly
Copy link
Copy Markdown
Contributor

@pohly pohly commented May 14, 2021

What type of PR is this?
/kind cleanup

What this PR does / why we need it:

The recently introduced support for tracking of staging and publishing can be improved:

  • Now it properly supports publishing more than once.
  • Mutex locking in NodeStageVolume and NodeUnstageVolume was missing.
  • NodeUnstageVolume and NodeUnpublishVolume can bail out early
    when nothing needs to be done. In the case of NodeUnpublishVolume
    that avoids unmounting at a path not managed by the driver. The
    driver cannot distinguish between an invalid path and an idempotent
    call, so this is not treated as an error.
  • NodePublishVolume checks that the staging target path is valid.
  • NodeStageVolume rejects staging more than once.

Which issue(s) this PR fixes:
Fixes #290

Special notes for your reviewer:

Does this PR introduce a user-facing change?:
The code that gets enhanced was in no prior release, therefore we don't need to mention this change.

NONE

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels May 14, 2021
@k8s-ci-robot k8s-ci-robot requested review from msau42 and saad-ali May 14, 2021 07:32
@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels May 14, 2021
@pohly pohly force-pushed the volume-lifecycle-fixes branch from 72cd882 to 4ade042 Compare May 14, 2021 08:57
The recently introduced support for tracking of staging and publishing
can be improved:
- Now it properly supports publishing more than once.
- Mutex locking in NodeStageVolume and NodeUnstageVolume was missing.
- NodeUnstageVolume and NodeUnpublishVolume can bail out early
  when nothing needs to be done. In the case of NodeUnpublishVolume
  that avoids unmounting at a path not managed by the driver. The
  driver cannot distinguish between an invalid path and an idempotent
  call, so this is not treated as an error.
- NodePublishVolume checks that the staging target path is valid.
- NodeStageVolume rejects staging more than once.
@pohly pohly force-pushed the volume-lifecycle-fixes branch from 4ade042 to f2b48cd Compare May 14, 2021 10:15
@pohly
Copy link
Copy Markdown
Contributor Author

pohly commented May 14, 2021

@avalluri : can you perhaps review?

Comment thread pkg/state/state.go
IsAttached bool
IsStaged bool
IsPublished bool
Attached bool
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the Is prefix for consistency with the other booleans and because it no longer works for the fields that aren't a boolean anymore.

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

@pohly: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-kubernetes-csi-csi-driver-host-path-1-18-test-on-kubernetes-1-18 f2b48cd link /test pull-kubernetes-csi-csi-driver-host-path-1-18-test-on-kubernetes-1-18
pull-kubernetes-csi-csi-driver-host-path-1-21-test-on-kubernetes-1-21 f2b48cd link /test pull-kubernetes-csi-csi-driver-host-path-1-21-test-on-kubernetes-1-21

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Copy link
Copy Markdown
Contributor

@avalluri avalluri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: avalluri, pohly

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jsafrane
Copy link
Copy Markdown
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 18, 2021
@k8s-ci-robot k8s-ci-robot merged commit 5c624fc into kubernetes-csi:master May 18, 2021
humblec added a commit to humblec/csi-driver-host-path that referenced this pull request Mar 4, 2026
1e81e752 Merge pull request kubernetes-csi#293 from andyzhangx/patch-9
4dc18505 fix: upgrade to go1.25.7 to fix CVE-2025-61727
b60b9a50 Merge pull request kubernetes-csi#292 from andyzhangx/patch-8
0e4e2ed0 Update Go version from 1.25.5 to 1.25.6 to fix CVE

git-subtree-dir: release-tools
git-subtree-split: 1e81e752e87e027311be882279eac9e292705aa5
@humblec humblec mentioned this pull request Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

support publishing multiple times and staging exactly once

4 participants